package com.yugao.fintech.antelope.pay;

import com.yugao.fintech.antelope.pay.model.rqrs.pay.payorder.*;
import com.yugao.fintech.antelope.pay.model.rqrs.pay.refund.RefundOrderQO;
import com.yugao.fintech.antelope.pay.model.rqrs.pay.refund.RefundOrderRQ;
import com.yugao.fintech.antelope.pay.model.rqrs.pay.refund.RefundOrderRS;
import com.yugao.fintech.framework.core.response.Resp;

/**
 * 支付相关的api

 */
public interface PayApi {

    /**
     * 统一下单接口
     */
    Resp<UnifiedOrderRS> unifiedOrder(UnifiedOrderRQ rq);

    /**
     * 继续去支付
     */
    Resp<UnifiedOrderRS> continuePay(ContinuePayRQ req);

    /**
     * 退款
     */
    Resp<RefundOrderRS> refundOrder(RefundOrderRQ bizRQ);

    /**
     * 获取订单
     */
    Resp<PayOrderRS> getOrder(PayOrderQO req);

    /**
     * 查询交易数据
     */
    Resp<TradeDataRS> getTradeData(TradeDataQO query);

    /**
     * 获取退款订单
     */
    Resp<RefundOrderRS> getRefundOrder(RefundOrderQO req);


    /**
     * 关闭支付订单
     */
    Resp<ClosePayOrderRS> closePayOrder(ClosePayOrderRQ rq);
}
